{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "sb_auto_header",
    "tags": [
     "sb_auto_header"
    ]
   },
   "source": [
    "<!-- This cell is automatically updated by tools/tutorial-cell-updater.py -->\n",
    "<!-- The contents are initialized from tutorials/notebook-header.md -->\n",
    "\n",
    "[<img src=\"https://colab.research.google.com/assets/colab-badge.svg\" alt=\"Open In Colab\"/>](https://colab.research.google.com/github/speechbrain/speechbrain/blob/develop/docs/tutorials/tasks/voice-activity-detection.ipynb)\n",
    "to execute or view/download this notebook on\n",
    "[GitHub](https://github.com/speechbrain/speechbrain/tree/develop/docs/tutorials/tasks/voice-activity-detection.ipynb)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "35SnKxL6eBrD"
   },
   "source": [
    "# Voice Activity Detection\n",
    "\n",
    "The goal of Voice Activity Detection (VAD) is to **detect** the **segments** containing **speech** within an audio recording.\n",
    "\n",
    "As shown in the following picture, the input of a VAD is an audio signal (or its corresponding features). The output could be a sequence that is \"1\" for the time frames containing speech and \"0\" for non-speech frames."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "hI0Rj1DOf-Rr"
   },
   "source": [
    "![SpeechBrain-VAD.png]()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "lxWeLSUfgjq8"
   },
   "source": [
    "As an alternative, the VAD could provide in the output the **boundaries** where speech activity is detected. For instance:\n",
    "\n",
    "\n",
    "\n",
    "```\n",
    "segment_001  0.00  2.57 NON_SPEECH\n",
    "segment_002  2.57  8.20 SPEECH\n",
    "segment_003  8.20  9.10 NON_SPEECH\n",
    "segment_004  9.10  10.93 SPEECH\n",
    "segment_005  10.93  12.00 NON_SPEECH\n",
    "segment_006  12.00  14.40 SPEECH\n",
    "segment_007  14.40  15.00 NON_SPEECH\n",
    "```\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "Z9R7GTLJlBhI"
   },
   "source": [
    "## What is VAD useful for?\n",
    "\n",
    "A VAD plays a crucial role in many speech processing pipelines. It is used when we would like to apply the processing algorithms to the **speech parts** of the audio recording only.  \n",
    "\n",
    "For instance, it is often employed as a **pre-processing step** for speech recognition, speech enhancement, speaker diarization, and many others systems.\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "evSG546AhLd_"
   },
   "source": [
    "## Why is challenging?"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "99KjKv3shSe2"
   },
   "source": [
    "Discriminating speech from non-speech signals is very natural for humans. However, for a machine, this is much tricker. A good VAD should precisely detect speech activity even in **noisy** and **reverberant** conditions. The number of possible noise sources is huge in **real-life** conditions (e.g., music, telephone rings, alarms, etc.), making the problem challenging for a machine.\n",
    "\n",
    "Moreover, a good VAD should be able to process both short and very **long recordings** (e.g., meetings) and, ideally, shouldn't be too computationally expensive.\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "E01ifcGqmKkQ"
   },
   "source": [
    "## Pipeline description\n",
    "\n",
    "Robust Voice Activity Detection has been a very active research field for decades. Today, deep learning plays a crucial role in this problem as well.\n",
    "\n",
    "In this tutorial, we employ a neural network that provides speech/non-speech predictions for each input frame. The frame-level posterior probabilities are then post-processed to retrieve the final speech boundaries, as shown in the following figure:\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "E2xcYqTVp2it"
   },
   "source": [
    "![SpeechBrain-VAD_CRDNN.png]()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "Zavj8gDZp2vi"
   },
   "source": [
    "More precisely, we here compute the standard FBANK features and we plug them into a CRDNN model (which combines convolutional, recurrent, and fully connected layers). The output is processed with a **sigmoid** to perform a **binary classification**. The network is trained with **binary cross-entropy**. The predictions will be close to one for speech and close to zero for non-speech frames.\n",
    "\n",
    "At inference time, the binary predictions are post-processed. For instance, we apply a **threshold** on them to identify the candidate speech regions. After that, we can apply other types of post-processing, such as merging segments that are close or remove segments that are too short. We will describe this in detail in the inference section.\n",
    "\n",
    "Right now, let's briefly discuss how we can train such a model with SpeechBrain."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "819mitozv-Vv"
   },
   "source": [
    "## Training\n",
    "SpeechBrain has a recipe for training a VAD with the [LibriParty Dataset](https://www.dropbox.com/s/ebo987wu3hie3zm/LibriParty.tar.gz?e=1&st=bjjs0754&dl=1). This is a dataset that we created for tasks such a VAD training. It contains several simulated acoustic scenes with speech and noisy sequences periodically active (alone or simultaneously).\n",
    "\n",
    "Beyond that, the training recipe creates **on-the-fly** several other **simulated acoustic scenes** using the Musan (that contains speech, noise, and music signals), CommonLanguage (that contains speech from 48 languages), and open-rir (that contains noise and impulse responses).\n",
    "\n",
    "The acoustic scene simulated on the fly explores different scenarios such as noise + speech, speech to noise transitions, noise to speech transitions, etc.\n",
    "\n",
    "Similarly to the other SpeechBrain recipes, one can train the model with the following commands:\n",
    "\n",
    "\n",
    "\n",
    "```bash\n",
    "cd recipes/LibriParty/VAD\n",
    "python train.py hparams/train.yaml\n",
    "```\n",
    "\n",
    "Please, follow the README file available within the recipe and make sure you have downloaded all the data before starting the training.\n",
    "\n",
    "Apart from the **massive use of speech augmentation/contamination**, the recipe has nothing special. Let's thus focus more on the inference part, which relies on some custom components.\n",
    "\n",
    "\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "x8g30rxUz2Eg"
   },
   "source": [
    "## Inference\n",
    "\n",
    "We can now focus on the inference part. The inference part is a bit more elaborated than usual because we designed it to work on very **long recordings** and to support several techniques for **post-processing** the network predictions.\n",
    "\n",
    "We will address all of the aforementioned aspects. But, let's first install speechbrain:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "executionInfo": {
     "elapsed": 35145,
     "status": "ok",
     "timestamp": 1708531523430,
     "user": {
      "displayName": "adel moumen",
      "userId": "01620107593621714109"
     },
     "user_tz": -60
    },
    "id": "rlXT2DWJ9Emk"
   },
   "outputs": [],
   "source": [
    "%%capture\n",
    "# Installing SpeechBrain via pip\n",
    "BRANCH = 'develop'\n",
    "!python -m pip install git+https://github.com/speechbrain/speechbrain.git@$BRANCH"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "executionInfo": {
     "elapsed": 149,
     "status": "ok",
     "timestamp": 1708531523439,
     "user": {
      "displayName": "adel moumen",
      "userId": "01620107593621714109"
     },
     "user_tz": -60
    },
    "id": "SIrH6negd-L3"
   },
   "outputs": [],
   "source": [
    "%%capture\n",
    "!wget -O /content/example_vad_music.wav \"https://www.dropbox.com/scl/fi/vvffxbkkuv79g0d4c7so3/example_vad_music.wav?rlkey=q5m5wc6y9fsfvt43x5yy8ohrf&dl=1\""
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "WltXFcFC0OpH"
   },
   "source": [
    "Let's read a speech signal:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 486
    },
    "executionInfo": {
     "elapsed": 25521,
     "status": "ok",
     "timestamp": 1708531548864,
     "user": {
      "displayName": "adel moumen",
      "userId": "01620107593621714109"
     },
     "user_tz": -60
    },
    "id": "iix1OohC2Pam",
    "outputId": "e405b50c-b5f9-43e2-d0f9-abbd9ba96a25"
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<IPython.lib.display.Audio object>"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import torch\n",
    "import torchaudio\n",
    "import matplotlib.pyplot as plt\n",
    "\n",
    "audio_file = \"/content/example_vad_music.wav\"\n",
    "signal, fs = torchaudio.load(audio_file)\n",
    "signal = signal.squeeze()\n",
    "time = torch.linspace(0, signal.shape[0]/fs, steps=signal.shape[0])\n",
    "\n",
    "plt.plot(time, signal)\n",
    "\n",
    "from IPython.display import Audio\n",
    "Audio(audio_file)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "tGuWJXKo3705"
   },
   "source": [
    "We can now use the VAD trained at the previous step in the following way:\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 200
    },
    "executionInfo": {
     "elapsed": 4308,
     "status": "ok",
     "timestamp": 1708531553082,
     "user": {
      "displayName": "adel moumen",
      "userId": "01620107593621714109"
     },
     "user_tz": -60
    },
    "id": "LssN_iSd7p2W",
    "outputId": "fbba6722-fee9-452e-cc56-1ce062226b56"
   },
   "outputs": [
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "81addb3add394558b4965ae64ccd28e2",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "hyperparams.yaml:   0%|          | 0.00/2.29k [00:00<?, ?B/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "1524b323bee54e27976c43f11e9044d2",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "model.ckpt:   0%|          | 0.00/453k [00:00<?, ?B/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "d56ee8c3d08349cfb73ce60c48bfcb97",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "mean_var_norm.ckpt:   0%|          | 0.00/1.06k [00:00<?, ?B/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "segment_001  0.00  0.23 NON_SPEECH\n",
      "segment_002  0.23  5.58 SPEECH\n",
      "segment_003  5.58  10.90 NON_SPEECH\n",
      "segment_004  10.90  16.63 SPEECH\n"
     ]
    }
   ],
   "source": [
    "from speechbrain.inference.VAD import VAD\n",
    "\n",
    "VAD = VAD.from_hparams(source=\"speechbrain/vad-crdnn-libriparty\", savedir=\"pretrained_models/vad-crdnn-libriparty\")\n",
    "boundaries = VAD.get_speech_segments(audio_file)\n",
    "VAD.save_boundaries(boundaries)\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "0cEap2n5_dMA"
   },
   "source": [
    "As you can see, the two speech parts are detected correctly. The music part is correctly classified as a non-speech segment, while the part where both music and speech are active is classified as speech."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "8Jp-KVAb-Dxq"
   },
   "source": [
    "## Inference Pipeline (Details)\n",
    "\n",
    "The pipeline for detecting the speech segments is the following:\n",
    "\n",
    "1. Compute **posteriors probabilities** at the frame level.\n",
    "2. Apply a **threshold** on the posterior probability.\n",
    "3. Derive candidate speech segments on top of that.\n",
    "4. Apply **energy VAD** within each candidate segment (optional).\n",
    "5. **Merge segments** that are too close.\n",
    "6. **Remove segments** that are too short.\n",
    "7. **Double-check speech** segments (optional).\n",
    "\n",
    "To make debugging easier and the interface more **modular** and **transparent**, we allow users to access the output of these intermediate steps.\n",
    "\n",
    "In some cases, these steps are not all needed. Users are free to customize the pipeline and its hyperparameters to improve the performance on their data.\n",
    "\n",
    "\n",
    "Let's start with the posterior computation.\n",
    "\n",
    "### 1- Posterior Computation\n",
    "The neural model provides outputs that should be close to zero for non-speech frames and close 1 one from speech frames.\n",
    "\n",
    "The time resolution depends on the **feature extraction** part and on the adopted neural **model**. In this case, we have a prediction every 10 ms (which is pretty standard for speech processing).\n",
    "\n",
    "To compute the posterior probabilities, you can use the following command:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 467
    },
    "executionInfo": {
     "elapsed": 653,
     "status": "ok",
     "timestamp": 1708531553719,
     "user": {
      "displayName": "adel moumen",
      "userId": "01620107593621714109"
     },
     "user_tz": -60
    },
    "id": "SB0ioi8C9EhK",
    "outputId": "7b1460a2-95d3-4128-829e-30dff883e725"
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x7f301f0de980>]"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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Z2cnysvLIzbR7S8lMiMmkwkVFRUJ+/7Z2dm6+yWU6fm5Afp+fnxuqYnPLTXxuSXOUBkRGQtYiYiISFMMRoiIiEhThg5G7HY77r33Xtjtdq2Hojo9PzdA38+Pzy018bmlJj635JASBaxERESkX4bOjBAREZH2GIwQERGRphiMEBERkaYYjBAREZGmDB2MPProo6iqqoLD4cDixYuxZcsWrYc0pLVr1+LMM89EVlYWiouLcfXVV2Pfvn0Rx1x44YWQJCniz8033xxxTG1tLS6//HKkp6ejuLgYd9xxB7xe71g+laj+67/+a8DYZ8yYoXy9r68Pt9xyCwoKCpCZmYkvfelLaGhoiPgeyfrcqqqqBjw3SZJwyy23AEit1+2tt97CFVdcgfLyckiShOeffz7i60II3HPPPSgrK0NaWhqWLFmCAwcORBzT2tqK6667DtnZ2cjNzcUNN9yArq6uiGN27NiB8847Dw6HA5WVlfjpT3+a6Kc25HPzeDy48847MXv2bGRkZKC8vBzLly/HqVOnIr5HtNf6wQcfTOrnBgBf//rXB4z70ksvjTgmFV83AFHfe5Ik4Wc/+5lyTLK+brGc99U6N27evBnz58+H3W7HlClTsH79+kQ/vRBhUE8//bSw2WziySefFJ9++qm48cYbRW5urmhoaNB6aINaunSp+P3vfy927doltm/fLj73uc+J8ePHi66uLuWYCy64QNx4442irq5O+dPR0aF83ev1ilmzZoklS5aIjz/+WLz88suisLBQrFmzRounFOHee+8Vp59+esTYm5qalK/ffPPNorKyUmzatEl89NFH4qyzzhJnn3228vVkfm6NjY0Rz+vVV18VAMQbb7whhEit1+3ll18WP/zhD8Wzzz4rAIjnnnsu4usPPvigyMnJEc8//7z45JNPxJVXXikmTpwoent7lWMuvfRSMXfuXPH++++Lt99+W0yZMkVce+21ytc7OjpESUmJuO6668SuXbvEX/7yF5GWliZ+85vfaPbc2tvbxZIlS8SGDRvE3r17RU1NjVi0aJFYsGBBxPeYMGGCuP/++yNey/D3aDI+NyGEWLFihbj00ksjxt3a2hpxTCq+bkKIiOdUV1cnnnzySSFJkjh06JByTLK+brGc99U4Nx4+fFikp6eL1atXi927d4tf/epXwmw2i40bNyb0+ckMG4wsWrRI3HLLLcr/fT6fKC8vF2vXrtVwVPFpbGwUAMSbb76p3HbBBReIW2+9ddD7vPzyy8JkMon6+nrltl//+tciOztbuFyuRA53WPfee6+YO3du1K+1t7cLq9UqnnnmGeW2PXv2CACipqZGCJHcz62/W2+9VUyePFn4/X4hROq+bv1P/H6/X5SWloqf/exnym3t7e3CbreLv/zlL0IIIXbv3i0AiA8//FA55l//+peQJEmcPHlSCCHEY489JvLy8iKe25133immT5+e4GcUEu1Drb8tW7YIAOLYsWPKbRMmTBC/+MUvBr1Psj63FStWiKuuumrQ++jpdbvqqqvERRddFHFbKrxuQgw876t1bvz+978vTj/99IjHWrZsmVi6dGmin5IQQghDTtO43W5s3boVS5YsUW4zmUxYsmQJampqNBxZfDo6OgAA+fn5Ebf/+c9/RmFhIWbNmoU1a9agp6dH+VpNTQ1mz56NkpIS5balS5fC6XTi008/HZuBD+HAgQMoLy/HpEmTcN1116G2thYAsHXrVng8nojXbMaMGRg/frzymiX7c5O53W786U9/wje+8Y2IjR9T+XWTHTlyBPX19RGvU05ODhYvXhzxOuXm5mLhwoXKMUuWLIHJZMIHH3ygHHP++efDZrMpxyxduhT79u1DW1vbGD2b4XV0dECSJOTm5kbc/uCDD6KgoABnnHEGfvazn0Wkw5P5uW3evBnFxcWYPn06vvWtb6GlpUX5ml5et4aGBrz00ku44YYbBnwtFV63/ud9tc6NNTU1Ed9DPmasPhNTYqM8tTU3N8Pn80W8MABQUlKCvXv3ajSq+Pj9ftx2220455xzMGvWLOX2r33ta5gwYQLKy8uxY8cO3Hnnndi3bx+effZZAEB9fX3U5y1/TUuLFy/G+vXrMX36dNTV1eG+++7Deeedh127dqG+vh42m23ASb+kpEQZdzI/t3DPP/882tvb8fWvf125LZVft3DyWKKNNfx1Ki4ujvi6xWJBfn5+xDETJ04c8D3kr+Xl5SVk/PHo6+vDnXfeiWuvvTZiE7L//M//xPz585Gfn4/33nsPa9asQV1dHR5++GEAyfvcLr30Unzxi1/ExIkTcejQIdx111247LLLUFNTA7PZrJvX7Q9/+AOysrLwxS9+MeL2VHjdop331To3DnaM0+lEb28v0tLSEvGUFIYMRvTglltuwa5du/DOO+9E3H7TTTcp/549ezbKyspw8cUX49ChQ5g8efJYDzMul112mfLvOXPmYPHixZgwYQL++te/JvyNMJaeeOIJXHbZZSgvL1duS+XXzYg8Hg+uueYaCCHw61//OuJrq1evVv49Z84c2Gw2/Md//AfWrl2b1G25v/rVryr/nj17NubMmYPJkydj8+bNuPjiizUcmbqefPJJXHfddXA4HBG3p8LrNth5Xw8MOU1TWFgIs9k8oNq4oaEBpaWlGo0qdqtWrcKLL76IN954AxUVFUMeu3jxYgDAwYMHAQClpaVRn7f8tWSSm5uLadOm4eDBgygtLYXb7UZ7e3vEMeGvWSo8t2PHjuG1117DN7/5zSGPS9XXTR7LUO+t0tJSNDY2Rnzd6/WitbU1JV5LORA5duwYXn311WG3Zl+8eDG8Xi+OHj0KILmfW7hJkyahsLAw4ncwlV83AHj77bexb9++Yd9/QPK9boOd99U6Nw52THZ29phcDBoyGLHZbFiwYAE2bdqk3Ob3+7Fp0yZUV1drOLKhCSGwatUqPPfcc3j99dcHpAyj2b59OwCgrKwMAFBdXY2dO3dGnFTkE+rMmTMTMu6R6urqwqFDh1BWVoYFCxbAarVGvGb79u1DbW2t8pqlwnP7/e9/j+LiYlx++eVDHpeqr9vEiRNRWloa8To5nU588MEHEa9Te3s7tm7dqhzz+uuvw+/3K0FYdXU13nrrLXg8HuWYV199FdOnT9c01S8HIgcOHMBrr72GgoKCYe+zfft2mEwmZYojWZ9bfydOnEBLS0vE72Cqvm6yJ554AgsWLMDcuXOHPTZZXrfhzvtqnRurq6sjvod8zJh9Jo5JmWwSevrpp4Xdbhfr168Xu3fvFjfddJPIzc2NqDZONt/61rdETk6O2Lx5c8Tys56eHiGEEAcPHhT333+/+Oijj8SRI0fECy+8ICZNmiTOP/985XvIS7wuueQSsX37drFx40ZRVFSUFMtfv/vd74rNmzeLI0eOiHfffVcsWbJEFBYWisbGRiFEYPna+PHjxeuvvy4++ugjUV1dLaqrq5X7J/NzEyKwYmv8+PHizjvvjLg91V63zs5O8fHHH4uPP/5YABAPP/yw+Pjjj5UVJQ8++KDIzc0VL7zwgtixY4e46qqroi7tPeOMM8QHH3wg3nnnHTF16tSIJaLt7e2ipKREXH/99WLXrl3i6aefFunp6QlfRjnUc3O73eLKK68UFRUVYvv27RHvQXlFwnvvvSd+8YtfiO3bt4tDhw6JP/3pT6KoqEgsX748qZ9bZ2en+N73vidqamrEkSNHxGuvvSbmz58vpk6dKvr6+pTvkYqvm6yjo0Okp6eLX//61wPun8yv23DnfSHUOTfKS3vvuOMOsWfPHvHoo49yae9Y+dWvfiXGjx8vbDabWLRokXj//fe1HtKQAET98/vf/14IIURtba04//zzRX5+vrDb7WLKlCnijjvuiOhXIYQQR48eFZdddplIS0sThYWF4rvf/a7weDwaPKNIy5YtE2VlZcJms4lx48aJZcuWiYMHDypf7+3tFd/+9rdFXl6eSE9PF1/4whdEXV1dxPdI1ucmhBCvvPKKACD27dsXcXuqvW5vvPFG1N/DFStWCCECy3vvvvtuUVJSIux2u7j44osHPOeWlhZx7bXXiszMTJGdnS1WrlwpOjs7I4755JNPxLnnnivsdrsYN26cePDBBzV9bkeOHBn0PSj3i9m6datYvHixyMnJEQ6HQ5x22mnigQceiPhAT8bn1tPTIy655BJRVFQkrFarmDBhgrjxxhsHXJyl4usm+81vfiPS0tJEe3v7gPsn8+s23HlfCPXOjW+88YaYN2+esNlsYtKkSRGPkWiSEEIkKOlCRERENCxD1owQERFR8mAwQkRERJpiMEJERESaYjBCREREmmIwQkRERJpiMEJERESaYjBCREREmmIwQkRERJpiMEJERESaYjBCREREmmIwQkRERJpiMEJERESa+v8BlDK75sPdWvUAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "prob_chunks = VAD.get_speech_prob_file(audio_file)\n",
    "plt.plot(prob_chunks.squeeze())"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "zrPK_BApAb2q"
   },
   "source": [
    "As expected, we have high values for speech regions and low values for the music one.\n",
    "\n",
    "The `get_speech_prob_file function` is designed to process **long audio recordings**. It computes posterior probabilities on large chunks (e.g., 30 sec), that are read sequentially to avoid storing long signals in memory.\n",
    "Each large chunk is, in turn, split into smaller ones (e.g., 10 seconds)\n",
    "that are processed in parallel.\n",
    "\n",
    "You can tune the `large_chunk_size` and `small_chunk_size` based on your memory constraints. If you have enough memory, you can use it to store a larger chunk of the signal (e.g., 5 minutes). This can be done by increasing `large_chunk_size` and will make the VAD (slightly) faster.\n",
    "\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "sCsvTNUAChzd"
   },
   "source": [
    "### 2- Apply a Threshold\n",
    "\n",
    "Now, we can detect the candidate speech segments by applying a threshold.\n",
    "\n",
    "To do it, you can use the following function:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 467
    },
    "executionInfo": {
     "elapsed": 637,
     "status": "ok",
     "timestamp": 1708531554324,
     "user": {
      "displayName": "adel moumen",
      "userId": "01620107593621714109"
     },
     "user_tz": -60
    },
    "id": "DjD-ooAW9tl8",
    "outputId": "2a3c54e9-b40a-4c18-aa2b-b7532b0f05bb"
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x7f301f131450>]"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAiMAAAGdCAYAAADAAnMpAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAAAro0lEQVR4nO3dfXRU1aH+8WcSyIQUwouRCYFAQC1IeQ8lN1pfWnMN1IXa9q5SZAlNFa+WrIumtTS+kKK9hluvyF29KK0Vca3WQtultL9CcWEk11KilEBqqULlzVAhAaRJeE0g2b8/bMZOyExyYsKePfP9rDVrwZlzZvY5O7PnmX32PsdnjDECAACwJMF2AQAAQHwjjAAAAKsIIwAAwCrCCAAAsIowAgAArCKMAAAAqwgjAADAKsIIAACwqpftAnRGS0uLDh8+rH79+snn89kuDgAA6ARjjE6ePKmMjAwlJITv/3AijBw+fFiZmZm2iwEAALrg0KFDGjZsWNjnnQgj/fr1k/TRzqSmplouDQAA6IyGhgZlZmYGv8fDcSKMtJ6aSU1NJYwAAOCYjoZYMIAVAABYRRgBAABWEUYAAIBVhBEAAGAVYQQAAFhFGAEAAFYRRgAAgFWEEQAAYBVhBAAAWOU5jLzxxhuaOXOmMjIy5PP5tG7dug63KS8v15QpU+T3+3XllVdq9erVXSgqAACIRZ7DyOnTpzVx4kStWLGiU+sfOHBAt9xyiz7/+c+rqqpK999/v+6++269+uqrngsLAABij+d708yYMUMzZszo9PorV67UyJEj9dRTT0mSrr76am3ZskVPP/208vPzvb49AACIMT1+o7yKigrl5eWFLMvPz9f9998fdpvGxkY1NjYG/9/Q0NBTxbvI/mOntPaPh9TU3HLJ3hOXxmWfStI3PjdSKUlO3B8SHTjf3KJVWw6opuGc7aLAgtGBfvratOG2ixHVjjac04sVB3WmqblT63/j2pHKHJTSw6VqX4+3yjU1NQoEAiHLAoGAGhoadPbsWfXp0+eibUpLS7VkyZKeLlq7lm36q3779hEr742eN3RgH31p8jDbxUA32LrvQ5X+brftYsCia69Ms/bl6YIXth7Us+X7Or3+zIkZsRtGuqK4uFhFRUXB/zc0NCgzM/OSvHdrgvzCmMG6eki/S/Ke6Hm/+3ON9h8/rdONnfuFgOh3pvGCJGlI/2R9ecpQy6XBpfT8lgM6d75FZ8/zeY6k9TMydcRA5Ywa1OH6gdTkni5SWD0eRtLT01VbWxuyrLa2Vqmpqe32ikiS3++X3+/v6aJFNH1cur469dIEIPS8vUdPaf/x07aLgR4wbGAfPZg/xnYxcAmt2XZI58432S6GM6654jIV3TzadjEi6vHrjOTm5qqsrCxk2aZNm5Sbm9vTbw0AABzgOYycOnVKVVVVqqqqkvTR1N2qqipVV1dL+ugUy9y5c4Pr33vvvdq/f7++853vaPfu3XrmmWf0i1/8Qg888ED37AEAAHCa5zCyfft2TZ48WZMnT5YkFRUVafLkyVq8eLEk6ciRI8FgIkkjR47U+vXrtWnTJk2cOFFPPfWUfvKTnzCtFwAASOrCmJEbb7xRxpiwz7d3ddUbb7xRO3fu9PpWVkTaN7iP2o0d1CVoriNz6fBwbxoAAGAVYSQMn+0CoFv5qNGYRd3GHx9V7o0DB4wwAgAArCKMAAAAqwgjAADAKsJIGy6NPkYXMPw+ZlCVMLTYEbn0GSGMAAAAqwgjYfgcGH2MzqM6Yxh1G4eodC9cOFqEEQAAYBVhBAAAWEUYAQAAVhFG2nBp9DG8o3pjBzMpQHsdmUufEcIIAACwijAShgujj9F5zKaJXVRt/OHz7I0Lx4swAgAArCKMAAAAqwgjbbgz3AcA4hsDWCNz6fgQRhBXXPpwIjLqEogdhBEAAGAVYSQMF0Yfo/N8zLmIWXxW4w9V7o0L7R9hBAAAWEUYAQAAVhFG2jCMigMAJ7h0uXMbXDo6hBHEFcJm7KAmgdhBGEF8iP7xW+giFwbnAYiMMBIGI/QBIDrRPnvjwvEijAAAAKsIIwAAwCrCCADASYxHj8yl40MYQVxx6LOJDjAzCogdhBHEBQfGb6GLXBicByAywkgYTBcEgOhE++yNC0eLMAIAAKwijAAAAKsII20wJg4AEBvc+UIjjCCuEDYBIPoQRhAXfEy5iFlULeA+wkgYNHAAEJ1on71x4XgRRgAAgFWEEQAAYBVhpA3j0OhjAIhnDEiPzKXjQxhBXHHos4kOuNTQAoiMMIK44MD4LXQRlwYH3EcYAQA4hfjpjQuXNiCMAAAAqwgjAADAKsJIGwyKAwA3MPsxMpe+zwgjiCvGpU8nIuKLCIgdhBHEBQfGb6GLqFvAfYSRMFwYfQwA8Yj2OfYQRgAAgFWEEQAAYBVhpA3GNwKAG2ivI3NpkDdhBICT+CICYgdhBHGB4W4AEL0II2Hw5QUAiAUuTD4ijAAAAKu6FEZWrFihrKwsJScnKycnR9u2bYu4/vLlyzV69Gj16dNHmZmZeuCBB3Tu3LkuFRgAAMQWz2Fk7dq1KioqUklJiXbs2KGJEycqPz9fR48ebXf9l156Sd/97ndVUlKid999V88//7zWrl2rhx566BMXvie4NPoYAOIZrXVkLg3y9hxGli1bpvnz56ugoEBjx47VypUrlZKSolWrVrW7/tatW3XttdfqjjvuUFZWlm6++WbNnj27w94UoCe49OFEZNQlEDs8hZGmpiZVVlYqLy/v4xdISFBeXp4qKira3eaaa65RZWVlMHzs379fGzZs0Be/+MWw79PY2KiGhoaQB/BJcPno2EXdAu7r5WXl48ePq7m5WYFAIGR5IBDQ7t27293mjjvu0PHjx/W5z31OxhhduHBB9957b8TTNKWlpVqyZImXonU72jcAiE60z974HJgf2uOzacrLy/XEE0/omWee0Y4dO/Tyyy9r/fr1evzxx8NuU1xcrPr6+uDj0KFDPV1MAABgiaeekbS0NCUmJqq2tjZkeW1trdLT09vd5tFHH9Wdd96pu+++W5I0fvx4nT59Wvfcc48efvhhJSRcnIf8fr/8fr+XonUbzkMDgBsMDXZELh0dTz0jSUlJys7OVllZWXBZS0uLysrKlJub2+42Z86cuShwJCYmSuIPCQAAeOwZkaSioiLNmzdPU6dO1bRp07R8+XKdPn1aBQUFkqS5c+dq6NChKi0tlSTNnDlTy5Yt0+TJk5WTk6O9e/fq0Ucf1cyZM4OhBLhUmLodO6hJIHZ4DiOzZs3SsWPHtHjxYtXU1GjSpEnauHFjcFBrdXV1SE/II488Ip/Pp0ceeUQffPCBLr/8cs2cOVP/+Z//2X17AXQg+odvoauoW8B9nsOIJBUWFqqwsLDd58rLy0PfoFcvlZSUqKSkpCtvZY0Lo48BIB4xm8YbF44X96YBAABWEUba4Dw0ALiB9joyl+aIEEYAAIBVhBHEh3+cM3XplwIia700gAvnwwFERhgBAABWEUbC4NcWAEQnZjt648LRIowAAACrCCNtMaYAAJzAGLDIXLriNGEEAABYRRhBXGg9x+zO7wR0pLUuXTgfDiAywggAALCKMBIGv7YAIDox29EbF44XYQQAAFhFGGnDpdHHABDfaK8jcujwEEYAAIBVhBHEBR/3pok9/6hLnwsnxAFERBgBAABWEUbC4McWAEQnmmdvXLiXD2EEAABYRRhpgzEFAOAG2uvIXDo8hBEAAGAVYQRxofWMKdeRiR2tdRn9Z8MBdIQwAgAArCKMhMXvLQCIRlxbxhsXDhdhBAAAWEUYaYMRBQDgBtrryIxD040IIwAAwCrCCOIC96aJPSZ4bxq75QDwyRFGAACAVYSRMPi1BQDRieY59hBGAACAVYSRNlwafQwA8YzmOjKXDg9hBAAAWEUYQVzwcZY55nz8q4+6BVxHGAEAAFYRRsLgtxYARCkaaE9cuJcPYQQAAFhFGGnDpdHHABDPmP0YmUuHhzACAACsIowgLnx8bxqHfiogIu5NA8QOwggAALCKMBKGC6OPASAe0Tp748LxIowAAACrCCNtMKQAANxAcx2ZS8eHMAIAAKwijCAufDybxm450H3MP373uXA+HEBkhBEAAGAVYSQMfm0BQHRitqM3Lhwuwkgb9OIDgBs47RqZSxd5JIwAAACrCCOIEw70U6JLXOiCBhAZYQRxxZ1OS3TEoR5oAB0gjAAAAKsII2HQ9QsA0Ynm2RsXjhdhpC36fgHACYYTrxG5dHQIIwAAwKouhZEVK1YoKytLycnJysnJ0bZt2yKuX1dXpwULFmjIkCHy+/369Kc/rQ0bNnSpwEBXcNotdvmc6IQGEEkvrxusXbtWRUVFWrlypXJycrR8+XLl5+drz549Gjx48EXrNzU16V//9V81ePBg/epXv9LQoUP1/vvva8CAAd1RfsATzsLFDqoSiB2ew8iyZcs0f/58FRQUSJJWrlyp9evXa9WqVfrud7970fqrVq3SiRMntHXrVvXu3VuSlJWV9clKDQAAYoan0zRNTU2qrKxUXl7exy+QkKC8vDxVVFS0u81vfvMb5ebmasGCBQoEAho3bpyeeOIJNTc3h32fxsZGNTQ0hDwuNbr1ASA60T5748K9fDyFkePHj6u5uVmBQCBkeSAQUE1NTbvb7N+/X7/61a/U3NysDRs26NFHH9VTTz2l73//+2Hfp7S0VP379w8+MjMzvRTzE6HrFwAcQYMdmUPHp8dn07S0tGjw4MH68Y9/rOzsbM2aNUsPP/ywVq5cGXab4uJi1dfXBx+HDh3q6WICAABLPI0ZSUtLU2Jiompra0OW19bWKj09vd1thgwZot69eysxMTG47Oqrr1ZNTY2ampqUlJR00TZ+v19+v99L0YCIor+TEl3lQA80gA546hlJSkpSdna2ysrKgstaWlpUVlam3Nzcdre59tprtXfvXrW0tASX/fWvf9WQIUPaDSJAT+IiSTGEqVFAzPB8mqaoqEjPPfecXnzxRb377ru67777dPr06eDsmrlz56q4uDi4/n333acTJ05o4cKF+utf/6r169friSee0IIFC7pvLwAAgLM8T+2dNWuWjh07psWLF6umpkaTJk3Sxo0bg4Naq6urlZDwccbJzMzUq6++qgceeEATJkzQ0KFDtXDhQi1atKj79qIHcCElAIhOtM/euHAq03MYkaTCwkIVFha2+1x5eflFy3Jzc/Xmm2925a0uOXp+AcANNNeRuXRamnvTAAAAqwgjiAsudFOia6hbwH2EEcQVTsPFDqoSiB2EEQAAYBVhJBy6fgEgKnFqzhsXDhdhpA2XRh8DQDzjtGtkLh0fwggAALCKMIK4wEWSYhd1C7iPMIK44lCvJTrgUhc0gMgIIwAAwCrCSBh0/AIAYoID048II23Q9QsAbmD2Y2QufZ8RRgAAgFWEEcSFYC+lSz8VEJFprcvo74EG0AHCCAAAsIowAgAArCKMhOFzYPQxAMQj2mdvXDhahJE2GFIAAG6gvY7MpdlGhBEAAGAVYQRxITiZxmop0J1a69KFLmgAkRFGAACAVYQRAABgFWEkDLp+ASA60T5748LkI8JIG4wpAAA30F5H5tJsI8IIAACwijCCuNB6kSSXfikgsuCtaVzogwYQEWEEAABYRRgJgx9bABCdaJ+98Tkw5Jcw0oahHx8AnEB7HZlLR4cwAgAArCKMAHBa9HdAA+gIYQRxxaW7WCIyahKIHYQRAABgFWEkDBdGHwNAPGI2jTcuHC/CCADASZyqi8ylyUaEEQAAYBVhBHHBhW5KdA11C7iPMIK44lK3JSLjgldA7CCMAAAAqwgjYdD1CwDRidmO3rhwtAgjbdDzCwCOoL3ugDsHiDACAACsIowgLtCtG7uoWcB9hBHEFXc6LQEgfhBGAACAVYSRMOj6BYDoxGxHb1w4XoSRNrjFPAC4gfY6MpdmhxJGAACAVYQRxAUXuinRNT4qF3AeYQRxxaVuS0RGXQKxgzACAACsIoyEQ88vAEQlmmdvXLjoI2GkDbp+AcANtNeRuXR4CCMAAMAqwgjiQvR3UqKrqFvAfYQRxBUukhQ7qEsgdnQpjKxYsUJZWVlKTk5WTk6Otm3b1qnt1qxZI5/Pp9tvv70rbwsAAGKQ5zCydu1aFRUVqaSkRDt27NDEiROVn5+vo0ePRtzu4MGD+va3v63rrruuy4W9lFwYfQwAcYkL3XnjwOHyHEaWLVum+fPnq6CgQGPHjtXKlSuVkpKiVatWhd2mublZc+bM0ZIlSzRq1KhPVOCeRscvALiB2TSRGYcOkKcw0tTUpMrKSuXl5X38AgkJysvLU0VFRdjtHnvsMQ0ePFh33XVXp96nsbFRDQ0NIQ8AABCbPIWR48ePq7m5WYFAIGR5IBBQTU1Nu9ts2bJFzz//vJ577rlOv09paan69+8ffGRmZnopJnARenVjGHULOK9HZ9OcPHlSd955p5577jmlpaV1ervi4mLV19cHH4cOHerBUiKuuNNriQ441AMNoAO9vKyclpamxMRE1dbWhiyvra1Venr6Revv27dPBw8e1MyZM4PLWlpaPnrjXr20Z88eXXHFFRdt5/f75ff7vRQNAAA4ylPPSFJSkrKzs1VWVhZc1tLSorKyMuXm5l60/pgxY/TnP/9ZVVVVwcett96qz3/+86qqqorq0y906wNAdKJ59saF4+WpZ0SSioqKNG/ePE2dOlXTpk3T8uXLdfr0aRUUFEiS5s6dq6FDh6q0tFTJyckaN25cyPYDBgyQpIuWRwuXRh8DQDyjtY7MpePjOYzMmjVLx44d0+LFi1VTU6NJkyZp48aNwUGt1dXVSkjgwq4AAKBzPIcRSSosLFRhYWG7z5WXl0fcdvXq1V15S+AT8XHeLWZxgULAfXRhIK641G2JyKhLIHYQRgAAgFWEkTDo+AWA6MRZV29cOE1NGGmDrl8AcAOzHyNz6fAQRgAAgFWEEcSF6O+kRFc50AMNoAOEEcQVunVjB1UJxA7CCAAAsIow0tY/fm25MPoYAOJRa+tM51hkrcfHhW8zwggAALCKMIL44MJPA3QJVQu4jzACAACsIowgrjADI3YYRgwAMYMwAgAArCKMtBEcfcyJaACISq2zHenpjKz1ukoufJ8RRgAAgFWEEcQFH3MuYpYLv/oAREYYAQAAVhFGEFc4xRw7GC8AxA7CCAAAsIow0kZw9LHlcgAA2vdx+0z3WGe4MK6KMAIAAKwijCAuuPDLAF3DTCnAfYQRAABgFWEEcYUZGAAQfQgjAADAKsJIG9ybBgCiW2v7TE9nZK3Hx4VxVYQRAABgFWEEcSH6fxegq+jFBNxHGAEAAFYRRhBXDFdsjBmGAQNAzCCMAAAAqwgjbXz8Y4sT0QAQjVpnh9A3FllrT7AL46oIIwAAwCrCCOKCC78M0DXULeA+wggAALCKMIK4wgSM2EFdArGDMAIAAKwijLTh0uhjAIhL3JumU1w6PoQRAABgFWEEccGFu1aiq6hbwHWEEQAAYBVhBICTHDodDqADhBEAAGAVYaSN1tHHnIUGgOjU2j5zF+7Igt9nDkwPJYwAAACrCCOICw78MEAXUbeA+wgjAADAKsII4opx6ZKEiIiqBGIHYQQAAFhFGGnDpdHHABCPfNybplOC91qzXI7OIIwAAACrCCOICy78MkDXULeA+wgjAADAKsII4gqnmGMHV98EYgdhBADgJOJoZC4N8O1SGFmxYoWysrKUnJysnJwcbdu2Ley6zz33nK677joNHDhQAwcOVF5eXsT1owXnoQEgOvlooT1xYXKo5zCydu1aFRUVqaSkRDt27NDEiROVn5+vo0ePtrt+eXm5Zs+erc2bN6uiokKZmZm6+eab9cEHH3ziwgOd5sKnEV1C1QLu8xxGli1bpvnz56ugoEBjx47VypUrlZKSolWrVrW7/s9+9jN985vf1KRJkzRmzBj95Cc/UUtLi8rKyj5x4QEAgPs8hZGmpiZVVlYqLy/v4xdISFBeXp4qKio69RpnzpzR+fPnNWjQoLDrNDY2qqGhIeQBAABik6cwcvz4cTU3NysQCIQsDwQCqqmp6dRrLFq0SBkZGSGBpq3S0lL1798/+MjMzPRSTCAslwZ0ITLqEogdl3Q2zdKlS7VmzRq98sorSk5ODrtecXGx6uvrg49Dhw5dsjJyIzUAcAPtdWQuHZ1eXlZOS0tTYmKiamtrQ5bX1tYqPT094rb//d//raVLl+q1117ThAkTIq7r9/vl9/u9FK3bMSgOAKIT7bM3Lsw+8tQzkpSUpOzs7JDBp62DUXNzc8Nu94Mf/ECPP/64Nm7cqKlTp3a9tEAXRf9HEV3lQkMLIDJPPSOSVFRUpHnz5mnq1KmaNm2ali9frtOnT6ugoECSNHfuXA0dOlSlpaWSpP/6r//S4sWL9dJLLykrKys4tqRv377q27dvN+4KAABwkecwMmvWLB07dkyLFy9WTU2NJk2apI0bNwYHtVZXVysh4eMOl2effVZNTU36t3/7t5DXKSkp0fe+971PVnoAAOA8z2FEkgoLC1VYWNjuc+Xl5SH/P3jwYFfeAugR3M8kdlCTQOzg3jRt0MABAGKCQ19ohJEwGBQHANGJ2TTeuHC8CCOICy58GNE11C3gPsIIAACwijACAACsIowgrnD16BhCZQIxgzDSBu0bALiB9joyly5lQBgJg0FxABCdmO3ojQtHizCCuEDjFbuoWcB9hBEAAGAVYQQAAFhFGEFccWc4FzpCXQKxgzDShkujjwEgntFeR+bSbCPCCADAKcx29MaF40UYQVxw4cOIrvFRuYDzCCMAAMAqwggAALCKMIK44tKALkRGXQKxgzDSBg0cALiB9joylw4PYSQMxsQBAGJD9H+hEUYQF6L/owgA8YswAgAArCKMAAAAqwgjiDMuDelCJFwKHIgdhJE2aN4AwA3MponMOHSACCNh+BjyCABRiVsAeOPC4SKMIC648GFE11C3gPsIIwAAwCrCCAAAsIowgrji0HgudIC6BGIHYaQNGjgAcAPNdWQuHR/CSBgMigOA6ETz7I0Lx4swgrjAVMDYxTR8wH2EEQAAYBVhBAAAWEUYuYhLQ37gFQOUYwdVCZcud26DS4eHMAIAAKwijITBeEfADXxW4w917o0LA/gJIwAAwCrCCAAAsIowAgAArCKMtOHS6GN4Z5iDETP4rII/gchcOj6EEQAAYBVhJAwuMR1bHBhMji6iauMPde6NC8eLMAIAAKwijAAAAKsIIwAAwCrCSBsujT6Gd8zAiB3MjAJ/Ah1wqMEjjAAAAKsII2Ew+yK2MDsqdvFZjT8u3GslmrhwuAgjAADAKsIIAACwijACAACsIoy0YRwafQzvqN0YQmXGPWZURebS0SGMAAAAqwgjYTgw+BgeuDCaHF3DzIr4Q41748JHpEthZMWKFcrKylJycrJycnK0bdu2iOv/8pe/1JgxY5ScnKzx48drw4YNXSosAACIPZ7DyNq1a1VUVKSSkhLt2LFDEydOVH5+vo4ePdru+lu3btXs2bN11113aefOnbr99tt1++23a9euXZ+48AAAwH2ew8iyZcs0f/58FRQUaOzYsVq5cqVSUlK0atWqdtf/n//5H02fPl0PPvigrr76aj3++OOaMmWK/vd///cTFx4AALivl5eVm5qaVFlZqeLi4uCyhIQE5eXlqaKiot1tKioqVFRUFLIsPz9f69atC/s+jY2NamxsDP6/oaHBSzE77fktB/S3v58JWXa6qblH3gvRoepQnZb8v7/YLga6wR8PnrBdBFj2mz8d1u6ak7aLEbUO1521XYRO8xRGjh8/rubmZgUCgZDlgUBAu3fvbnebmpqadtevqakJ+z6lpaVasmSJl6J1yfq3D2tHdV27z33K7+nQIMr1S/6oPvcePaW9R09ZLg26U18+q3Gn9fP8h70f6g97P7RcmujX19/bdhE6FJWf4uLi4pDelIaGBmVmZnb7+3wle5hyr7jsouWj01OVMaBPt78f7Llt0lCdaWxW3dkm20VBN/qUv5dmf3a47WLgEvvWzaOVlfYpnW9usV2UqDekfx9NHTHQdjE65CmMpKWlKTExUbW1tSHLa2trlZ6e3u426enpntaXJL/fL7/f76VoXTInZ0SPvweiQ19/L82/fpTtYgDoBpmDUnR/3qdtFwPdyNMA1qSkJGVnZ6usrCy4rKWlRWVlZcrNzW13m9zc3JD1JWnTpk1h1wcAAPHF82maoqIizZs3T1OnTtW0adO0fPlynT59WgUFBZKkuXPnaujQoSotLZUkLVy4UDfccIOeeuop3XLLLVqzZo22b9+uH//4x927JwAAwEmew8isWbN07NgxLV68WDU1NZo0aZI2btwYHKRaXV2thISPO1yuueYavfTSS3rkkUf00EMP6aqrrtK6des0bty47tsLAADgLJ9x4M5wDQ0N6t+/v+rr65Wammq7OAAAoBM6+/3NvWkAAIBVhBEAAGAVYQQAAFhFGAEAAFYRRgAAgFWEEQAAYBVhBAAAWEUYAQAAVhFGAACAVZ4vB29D60ViGxoaLJcEAAB0Vuv3dkcXe3cijJw8eVKSlJmZabkkAADAq5MnT6p///5hn3fi3jQtLS06fPiw+vXrJ5/P122v29DQoMzMTB06dCjm7nkTy/smxfb+sW9uYt/cxL71LGOMTp48qYyMjJCb6LblRM9IQkKChg0b1mOvn5qaGnN/hK1ied+k2N4/9s1N7Jub2LeeE6lHpBUDWAEAgFWEEQAAYFVchxG/36+SkhL5/X7bRel2sbxvUmzvH/vmJvbNTexbdHBiACsAAIhdcd0zAgAA7COMAAAAqwgjAADAKsIIAACwKq7DyIoVK5SVlaXk5GTl5ORo27ZttosUUWlpqT772c+qX79+Gjx4sG6//Xbt2bMnZJ0bb7xRPp8v5HHvvfeGrFNdXa1bbrlFKSkpGjx4sB588EFduHDhUu5Ku773ve9dVPYxY8YEnz937pwWLFigyy67TH379tVXvvIV1dbWhrxGtO5bVlbWRfvm8/m0YMECSW7V2xtvvKGZM2cqIyNDPp9P69atC3neGKPFixdryJAh6tOnj/Ly8vTee++FrHPixAnNmTNHqampGjBggO666y6dOnUqZJ23335b1113nZKTk5WZmakf/OAHPb1rEfft/PnzWrRokcaPH69PfepTysjI0Ny5c3X48OGQ12ivrpcuXRrV+yZJX//61y8q9/Tp00PWcbHeJLX72fP5fHryySeD60RrvXWm3e+utrG8vFxTpkyR3+/XlVdeqdWrV/f07n3MxKk1a9aYpKQks2rVKvOXv/zFzJ8/3wwYMMDU1tbaLlpY+fn55oUXXjC7du0yVVVV5otf/KIZPny4OXXqVHCdG264wcyfP98cOXIk+Kivrw8+f+HCBTNu3DiTl5dndu7caTZs2GDS0tJMcXGxjV0KUVJSYj7zmc+ElP3YsWPB5++9916TmZlpysrKzPbt282//Mu/mGuuuSb4fDTv29GjR0P2a9OmTUaS2bx5szHGrXrbsGGDefjhh83LL79sJJlXXnkl5PmlS5ea/v37m3Xr1pk//elP5tZbbzUjR440Z8+eDa4zffp0M3HiRPPmm2+a3//+9+bKK680s2fPDj5fX19vAoGAmTNnjtm1a5f5+c9/bvr06WN+9KMfWdu3uro6k5eXZ9auXWt2795tKioqzLRp00x2dnbIa4wYMcI89thjIXX5z5/RaNw3Y4yZN2+emT59eki5T5w4EbKOi/VmjAnZpyNHjphVq1YZn89n9u3bF1wnWuutM+1+d7SN+/fvNykpKaaoqMi888475oc//KFJTEw0Gzdu7NH9axW3YWTatGlmwYIFwf83NzebjIwMU1paarFU3hw9etRIMv/3f/8XXHbDDTeYhQsXht1mw4YNJiEhwdTU1ASXPfvssyY1NdU0Njb2ZHE7VFJSYiZOnNjuc3V1daZ3797ml7/8ZXDZu+++aySZiooKY0x071tbCxcuNFdccYVpaWkxxrhbb20b/paWFpOenm6efPLJ4LK6ujrj9/vNz3/+c2OMMe+8846RZP74xz8G1/nd735nfD6f+eCDD4wxxjzzzDNm4MCBIfu2aNEiM3r06B7eo4+196XW1rZt24wk8/777weXjRgxwjz99NNht4nWfZs3b5657bbbwm4TS/V22223mS984Qshy1yoN2Mubve7q238zne+Yz7zmc+EvNesWbNMfn5+T++SMcaYuDxN09TUpMrKSuXl5QWXJSQkKC8vTxUVFRZL5k19fb0kadCgQSHLf/aznyktLU3jxo1TcXGxzpw5E3yuoqJC48ePVyAQCC7Lz89XQ0OD/vKXv1yagkfw3nvvKSMjQ6NGjdKcOXNUXV0tSaqsrNT58+dD6mzMmDEaPnx4sM6ifd9aNTU16ac//am+8Y1vhNz40eV6a3XgwAHV1NSE1FP//v2Vk5MTUk8DBgzQ1KlTg+vk5eUpISFBb731VnCd66+/XklJScF18vPztWfPHv3973+/RHvTsfr6evl8Pg0YMCBk+dKlS3XZZZdp8uTJevLJJ0O6w6N538rLyzV48GCNHj1a9913nz788MPgc7FSb7W1tVq/fr3uuuuui55zod7atvvd1TZWVFSEvEbrOpfqO9GJG+V1t+PHj6u5uTmkYiQpEAho9+7dlkrlTUtLi+6//35de+21GjduXHD5HXfcoREjRigjI0Nvv/22Fi1apD179ujll1+WJNXU1LS7363P2ZSTk6PVq1dr9OjROnLkiJYsWaLrrrtOu3btUk1NjZKSki5q9AOBQLDc0bxv/2zdunWqq6vT17/+9eAyl+vtn7WWpb2y/nM9DR48OOT5Xr16adCgQSHrjBw58qLXaH1u4MCBPVJ+L86dO6dFixZp9uzZITch+4//+A9NmTJFgwYN0tatW1VcXKwjR45o2bJlkqJ336ZPn64vf/nLGjlypPbt26eHHnpIM2bMUEVFhRITE2Om3l588UX169dPX/7yl0OWu1Bv7bX73dU2hlunoaFBZ8+eVZ8+fXpil4LiMozEggULFmjXrl3asmVLyPJ77rkn+O/x48dryJAhuummm7Rv3z5dccUVl7qYnsyYMSP47wkTJignJ0cjRozQL37xix7/IFxKzz//vGbMmKGMjIzgMpfrLR6dP39eX/3qV2WM0bPPPhvyXFFRUfDfEyZMUFJSkv793/9dpaWlUX1Z7q997WvBf48fP14TJkzQFVdcofLyct10000WS9a9Vq1apTlz5ig5OTlkuQv1Fq7djwVxeZomLS1NiYmJF402rq2tVXp6uqVSdV5hYaF++9vfavPmzRo2bFjEdXNyciRJe/fulSSlp6e3u9+tz0WTAQMG6NOf/rT27t2r9PR0NTU1qa6uLmSdf64zF/bt/fff12uvvaa777474nqu1ltrWSJ9ttLT03X06NGQ5y9cuKATJ044UZetQeT999/Xpk2bOrw1e05Oji5cuKCDBw9Kiu59+2ejRo1SWlpayN+gy/UmSb///e+1Z8+eDj9/UvTVW7h2v7vaxnDrpKamXpIfg3EZRpKSkpSdna2ysrLgspaWFpWVlSk3N9diySIzxqiwsFCvvPKKXn/99Yu6DNtTVVUlSRoyZIgkKTc3V3/+859DGpXWBnXs2LE9Uu6uOnXqlPbt26chQ4YoOztbvXv3DqmzPXv2qLq6OlhnLuzbCy+8oMGDB+uWW26JuJ6r9TZy5Eilp6eH1FNDQ4PeeuutkHqqq6tTZWVlcJ3XX39dLS0twRCWm5urN954Q+fPnw+us2nTJo0ePdpqV39rEHnvvff02muv6bLLLutwm6qqKiUkJARPcUTrvrX1t7/9TR9++GHI36Cr9dbq+eefV3Z2tiZOnNjhutFSbx21+93VNubm5oa8Rus6l+w78ZIMk41Ca9asMX6/36xevdq888475p577jEDBgwIGW0cbe677z7Tv39/U15eHjL97MyZM8YYY/bu3Wsee+wxs337dnPgwAHz61//2owaNcpcf/31wddoneJ18803m6qqKrNx40Zz+eWXR8X0129961umvLzcHDhwwPzhD38weXl5Ji0tzRw9etQY89H0teHDh5vXX3/dbN++3eTm5prc3Nzg9tG8b8Z8NGNr+PDhZtGiRSHLXau3kydPmp07d5qdO3caSWbZsmVm586dwRklS5cuNQMGDDC//vWvzdtvv21uu+22dqf2Tp482bz11ltmy5Yt5qqrrgqZIlpXV2cCgYC58847za5du8yaNWtMSkpKj0+jjLRvTU1N5tZbbzXDhg0zVVVVIZ/B1hkJW7duNU8//bSpqqoy+/btMz/96U/N5ZdfbubOnRvV+3by5Enz7W9/21RUVJgDBw6Y1157zUyZMsVcddVV5ty5c8HXcLHeWtXX15uUlBTz7LPPXrR9NNdbR+2+Md3TNrZO7X3wwQfNu+++a1asWMHU3kvlhz/8oRk+fLhJSkoy06ZNM2+++abtIkUkqd3HCy+8YIwxprq62lx//fVm0KBBxu/3myuvvNI8+OCDIderMMaYgwcPmhkzZpg+ffqYtLQ0861vfcucP3/ewh6FmjVrlhkyZIhJSkoyQ4cONbNmzTJ79+4NPn/27FnzzW9+0wwcONCkpKSYL33pS+bIkSMhrxGt+2aMMa+++qqRZPbs2ROy3LV627x5c7t/h/PmzTPGfDS999FHHzWBQMD4/X5z0003XbTPH374oZk9e7bp27evSU1NNQUFBebkyZMh6/zpT38yn/vc54zf7zdDhw41S5cutbpvBw4cCPsZbL1eTGVlpcnJyTH9+/c3ycnJ5uqrrzZPPPFEyBd6NO7bmTNnzM0332wuv/xy07t3bzNixAgzf/78i36cuVhvrX70ox+ZPn36mLq6uou2j+Z666jdN6b72sbNmzebSZMmmaSkJDNq1KiQ9+hpPmOM6aFOFwAAgA7F5ZgRAAAQPQgjAADAKsIIAACwijACAACsIowAAACrCCMAAMAqwggAALCKMAIAAKwijAAAAKsIIwAAwCrCCAAAsIowAgAArPr/J9kM6BhT2eQAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "prob_th = VAD.apply_threshold(prob_chunks, activation_th=0.5, deactivation_th=0.25).float()\n",
    "plt.plot(prob_th.squeeze())"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "MuIWIG7EDY2V"
   },
   "source": [
    "Instead of applying a single threshold (e.g., 0.5),  we allow users to set two different thresholds, one to decide when to start a speech segment (`activation_th`) and one to detect when to stop it (`deactivation_th`).\n",
    "\n",
    "According to our experience, it makes sense to set `activation_th` higher than than `deactivation_th` (e.g, `aactivation_th=0.5`, `deactivation_th=0.25`).\n",
    "\n",
    "Users, however, can play with these hyperparameters to make the VAD more or less selective.\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "JNcVQj91ErqH"
   },
   "source": [
    "### 3- Get the Boundaries\n",
    "Now, we can derive the boundaries of the speech segments from the thresholded posteriors:\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/"
    },
    "executionInfo": {
     "elapsed": 88,
     "status": "ok",
     "timestamp": 1708531554326,
     "user": {
      "displayName": "adel moumen",
      "userId": "01620107593621714109"
     },
     "user_tz": -60
    },
    "id": "wo2_ts-f96qn",
    "outputId": "17d3ef0f-e94a-47bc-983e-a9c77146012f"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "segment_001  0.00  0.23 NON_SPEECH\n",
      "segment_002  0.23  5.58 SPEECH\n",
      "segment_003  5.58  10.90 NON_SPEECH\n",
      "segment_004  10.90  16.63 SPEECH\n",
      "segment_005  16.63  20.00 NON_SPEECH\n",
      "segment_006  20.00  20.43 SPEECH\n",
      "segment_007  20.43  20.45 NON_SPEECH\n"
     ]
    }
   ],
   "source": [
    "boundaries = VAD.get_boundaries(prob_th)\n",
    "VAD.save_boundaries(boundaries, audio_file=audio_file)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "_o9FoIrfFVcu"
   },
   "source": [
    "The `boundaries` tensors contain the beginning and end second of each speech segment.\n",
    "The method `save_boundaries` can be used to plot the boundaries in a human-readable format and/or to save them on a file (with the `save_path` argument)."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "CnUBGT-fGEAj"
   },
   "source": [
    "### 4- Energy-based VAD (optional)\n",
    "\n",
    "The trained neural VAD tends to detect large speech segments, where smaller speech segments that are close to each other are merged.\n",
    "\n",
    "If the users want more resolution, one possible approach is to apply an **energy-based VAD** within the detected speech segments. The energy-based VAD processes the speech segments with sliding windows that compute the energy within each chunk.  The energy profile is normalized such that we have  0.5 and +-0.5 of standard deviation. We then apply a threshold and split the speech original segment into smaller ones.\n",
    "\n",
    "This is done in the following way:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/"
    },
    "executionInfo": {
     "elapsed": 67,
     "status": "ok",
     "timestamp": 1708531554327,
     "user": {
      "displayName": "adel moumen",
      "userId": "01620107593621714109"
     },
     "user_tz": -60
    },
    "id": "phzPKnw1H-Dp",
    "outputId": "06dd4176-c33e-4a45-9a28-40bd2101c605"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "segment_001  0.00  1.66 NON_SPEECH\n",
      "segment_002  1.66  2.13 SPEECH\n",
      "segment_003  2.13  2.70 NON_SPEECH\n",
      "segment_004  2.70  4.03 SPEECH\n",
      "segment_005  4.03  4.27 NON_SPEECH\n",
      "segment_006  4.27  5.26 SPEECH\n",
      "segment_007  5.26  11.37 NON_SPEECH\n",
      "segment_008  11.37  11.94 SPEECH\n",
      "segment_009  11.94  12.63 NON_SPEECH\n",
      "segment_010  12.63  13.12 SPEECH\n",
      "segment_011  13.12  13.26 NON_SPEECH\n",
      "segment_012  13.26  14.28 SPEECH\n",
      "segment_013  14.28  14.99 NON_SPEECH\n",
      "segment_014  14.99  15.67 SPEECH\n",
      "segment_015  15.67  15.79 NON_SPEECH\n",
      "segment_016  15.79  16.06 SPEECH\n",
      "segment_017  16.06  16.30 NON_SPEECH\n",
      "segment_018  16.30  16.42 SPEECH\n",
      "segment_019  16.42  20.02 NON_SPEECH\n",
      "segment_020  20.02  20.10 SPEECH\n",
      "segment_021  20.10  20.18 NON_SPEECH\n",
      "segment_022  20.18  20.18 SPEECH\n",
      "segment_023  20.18  20.22 NON_SPEECH\n",
      "segment_024  20.22  20.22 SPEECH\n",
      "segment_025  20.22  20.29 NON_SPEECH\n",
      "segment_026  20.29  20.35 SPEECH\n",
      "segment_027  20.35  20.37 NON_SPEECH\n",
      "segment_028  20.37  20.37 SPEECH\n",
      "segment_029  20.37  20.42 NON_SPEECH\n",
      "segment_030  20.42  20.42 SPEECH\n",
      "segment_031  20.42  20.45 NON_SPEECH\n"
     ]
    }
   ],
   "source": [
    "boundaries = VAD.energy_VAD(audio_file,boundaries, activation_th=0.8, deactivation_th=0.0)\n",
    "VAD.save_boundaries(boundaries, audio_file=audio_file)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "PyTD2EhwJYwa"
   },
   "source": [
    "Users can have a more or less selective VAD by playing with `activation_th` and `deactivation_th`.\n",
    "\n",
    "Differently from the neural VAD, the energy VAD tends to oversegment the input. We improve that by post-processing the boundaries, as will be shown below."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "xrK19_VBLQ1W"
   },
   "source": [
    "### 5- Merge close segments\n",
    "The users might need to select the desired resolution for the VAD (the optimal level of granularity might depend on the task).\n",
    "\n",
    "For instance, it could make sense to **merge segments** that are too close to each other.\n",
    "\n",
    "This is done with the following method:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/"
    },
    "executionInfo": {
     "elapsed": 52,
     "status": "ok",
     "timestamp": 1708531554328,
     "user": {
      "displayName": "adel moumen",
      "userId": "01620107593621714109"
     },
     "user_tz": -60
    },
    "id": "EaWe-zNUJabo",
    "outputId": "1710fa91-1510-4e21-a6c8-5b7d139a867b"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "segment_001  0.00  1.66 NON_SPEECH\n",
      "segment_002  1.66  2.13 SPEECH\n",
      "segment_003  2.13  2.70 NON_SPEECH\n",
      "segment_004  2.70  5.26 SPEECH\n",
      "segment_005  5.26  11.37 NON_SPEECH\n",
      "segment_006  11.37  11.94 SPEECH\n",
      "segment_007  11.94  12.63 NON_SPEECH\n",
      "segment_008  12.63  14.28 SPEECH\n",
      "segment_009  14.28  14.99 NON_SPEECH\n",
      "segment_010  14.99  16.42 SPEECH\n",
      "segment_011  16.42  20.02 NON_SPEECH\n",
      "segment_012  20.02  20.42 SPEECH\n",
      "segment_013  20.42  20.45 NON_SPEECH\n"
     ]
    }
   ],
   "source": [
    "# 5- Merge segments that are too close\n",
    "boundaries = VAD.merge_close_segments(boundaries, close_th=0.250)\n",
    "VAD.save_boundaries(boundaries, audio_file=audio_file)\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "EdV4YlP3Mo58"
   },
   "source": [
    "In this case, we merged segments that are closer than 250 ms. Users can play with `close_th` and tune it according to their needs."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "egnlueSCM37M"
   },
   "source": [
    "### 6- Remove short segments\n",
    "It could also make sense to remove short isolated segments that might be misclassified as speech:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/"
    },
    "executionInfo": {
     "elapsed": 41,
     "status": "ok",
     "timestamp": 1708531554329,
     "user": {
      "displayName": "adel moumen",
      "userId": "01620107593621714109"
     },
     "user_tz": -60
    },
    "id": "qXt6TyP8M3c6",
    "outputId": "616583a0-928b-4dcf-fc80-c5ae11fa4b3e"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "segment_001  0.00  1.66 NON_SPEECH\n",
      "segment_002  1.66  2.13 SPEECH\n",
      "segment_003  2.13  2.70 NON_SPEECH\n",
      "segment_004  2.70  5.26 SPEECH\n",
      "segment_005  5.26  11.37 NON_SPEECH\n",
      "segment_006  11.37  11.94 SPEECH\n",
      "segment_007  11.94  12.63 NON_SPEECH\n",
      "segment_008  12.63  14.28 SPEECH\n",
      "segment_009  14.28  14.99 NON_SPEECH\n",
      "segment_010  14.99  16.42 SPEECH\n",
      "segment_011  16.42  20.02 NON_SPEECH\n",
      "segment_012  20.02  20.42 SPEECH\n",
      "segment_013  20.42  20.45 NON_SPEECH\n"
     ]
    }
   ],
   "source": [
    "# 6- Remove segments that are too short\n",
    "boundaries = VAD.remove_short_segments(boundaries, len_th=0.250)\n",
    "VAD.save_boundaries(boundaries, audio_file=audio_file)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "aDNix4y8NZNa"
   },
   "source": [
    "In this case, we remove segments that are shorter than 250 ms. Note that we first merged segments that are close and only after we removed the short ones. This helps to remove short \"isolated\"  segments only."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "a6SZ2KWkOZ8f"
   },
   "source": [
    "### 7- Double check speech segments (optional)\n",
    "\n",
    "At this point, we can take the post-processed speech segments and double-check if they really contain speech. This is done in this way:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/"
    },
    "executionInfo": {
     "elapsed": 474,
     "status": "ok",
     "timestamp": 1708531554776,
     "user": {
      "displayName": "adel moumen",
      "userId": "01620107593621714109"
     },
     "user_tz": -60
    },
    "id": "dq0P8ua0Mlpn",
    "outputId": "a5b16584-6c84-4e5d-facc-3fff3cea04c4"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "segment_001  0.00  1.66 NON_SPEECH\n",
      "segment_002  1.66  2.13 SPEECH\n",
      "segment_003  2.13  2.70 NON_SPEECH\n",
      "segment_004  2.70  5.26 SPEECH\n",
      "segment_005  5.26  11.37 NON_SPEECH\n",
      "segment_006  11.37  11.94 SPEECH\n",
      "segment_007  11.94  12.63 NON_SPEECH\n",
      "segment_008  12.63  14.28 SPEECH\n",
      "segment_009  14.28  14.99 NON_SPEECH\n",
      "segment_010  14.99  16.42 SPEECH\n",
      "segment_011  16.42  20.45 NON_SPEECH\n"
     ]
    }
   ],
   "source": [
    "# 7- Double-check speech segments (optional).\n",
    "boundaries = VAD.double_check_speech_segments(boundaries, audio_file,  speech_th=0.5)\n",
    "VAD.save_boundaries(boundaries, audio_file=audio_file)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "wtXQEO-rOv6-"
   },
   "source": [
    "The method uses one more time the neural VAD on the detected speech segments. If the **average posterior probability within the segment** is larger than `speech_th` (in this case, `speech_th=0.5`), the speech segment is confirmed. Otherwise,  it is removed.\n",
    "\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "QWkfOk8-PUYZ"
   },
   "source": [
    "## Visualization\n",
    "\n",
    "We also implemented some utilities to help users visualizing the output of the VAD:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {
    "executionInfo": {
     "elapsed": 11,
     "status": "ok",
     "timestamp": 1708531554778,
     "user": {
      "displayName": "adel moumen",
      "userId": "01620107593621714109"
     },
     "user_tz": -60
    },
    "id": "92s0HEapPfpt"
   },
   "outputs": [],
   "source": [
    "upsampled_boundaries = VAD.upsample_boundaries(boundaries, audio_file)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "xMtwEuBKQDBY"
   },
   "source": [
    "This function creates a \"VAD signal\" with the **same dimensionality** as the original audio recording. This way, one can plot them jointly:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 467
    },
    "executionInfo": {
     "elapsed": 33160,
     "status": "ok",
     "timestamp": 1708531587929,
     "user": {
      "displayName": "adel moumen",
      "userId": "01620107593621714109"
     },
     "user_tz": -60
    },
    "id": "SSOeT58mQM1m",
    "outputId": "f0fb1160-021d-488c-b819-ed8e715f3612"
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x7f301f0b5fc0>]"
      ]
     },
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "time = torch.linspace(0, signal.shape[0]/fs, steps=signal.shape[0])\n",
    "plt.plot(time, signal)\n",
    "plt.plot(time, upsampled_boundaries.squeeze())"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "l3IxNZ5nlxcR"
   },
   "source": [
    "For more details, one can also upsample and visualize VAD scores:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "colab": {
     "background_save": true
    },
    "id": "nPIgz2ZvlykV"
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x7f301f105330>]"
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "upsampled_vad_scores = VAD.upsample_VAD(prob_chunks, audio_file)\n",
    "\n",
    "plt.plot(time, signal)\n",
    "plt.plot(time, upsampled_boundaries.squeeze())\n",
    "plt.plot(time, upsampled_vad_scores.squeeze())"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "BV6xjBmBQnLr"
   },
   "source": [
    "As an alternative, users can save the VAD file and open it with the original one using an audio visualization software like audacity.\n",
    "\n",
    "\n",
    "**That's all! Happy VAD!**\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "L248uu8jt4K-"
   },
   "source": [
    "\n",
    "\n",
    "---\n",
    "\n",
    "## Appendix: on using energy-based VAD\n",
    "\n",
    "If energy-based VAD is used, the order of the merge, remove, double-check operations matters. Let's use `double_check_speech_segments` right away after energy-based VAD and then `merge_close_segments`. Some speech frames are dropped:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "colab": {
     "background_save": true
    },
    "id": "S6JtQmHptzee"
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "Exception ignored in: <function _xla_gc_callback at 0x7f3035dbd750>\n",
      "Traceback (most recent call last):\n",
      "  File \"/usr/local/lib/python3.10/dist-packages/jax/_src/lib/__init__.py\", line 97, in _xla_gc_callback\n",
      "    def _xla_gc_callback(*args):\n",
      "KeyboardInterrupt: \n"
     ]
    }
   ],
   "source": [
    "# plotted boundaries may be scaled down to compare many at once\n",
    "def plot_boundaries(b, color):\n",
    "  upsampled = VAD.upsample_boundaries(b, audio_file)\n",
    "  plt.plot(time, upsampled.squeeze(), color)\n",
    "\n",
    "\n",
    "# first figures - from CRDNN VAD to energy VAD\n",
    "fig, axs = plt.subplots(3, 3, figsize=(16, 12))\n",
    "plt.sca(axs[0, 0])\n",
    "plt.title('1a. CRDNN VAD scores')\n",
    "plt.plot(time, signal)\n",
    "\n",
    "plt.plot(time, upsampled_vad_scores.squeeze(), 'green')\n",
    "\n",
    "# CRDNN boundaries\n",
    "plt.sca(axs[1, 0])\n",
    "plt.title('1b. CRDNN VAD boundaries')\n",
    "plt.plot(time, signal)\n",
    "\n",
    "boundaries = VAD.get_boundaries(prob_th)\n",
    "plot_boundaries(boundaries, 'orange')\n",
    "\n",
    "# energy VAD boundaries\n",
    "plt.sca(axs[2, 0])\n",
    "plt.title('1c. Energy VAD boundaries based on CRDNN')\n",
    "plt.plot(time, signal)\n",
    "\n",
    "boundaries_energy = VAD.energy_VAD(audio_file, boundaries, activation_th=0.8, deactivation_th=0.0)\n",
    "plot_boundaries(boundaries_energy, 'purple')\n",
    "\n",
    "# second figure - double-check, then merge\n",
    "plt.sca(axs[0, 1])\n",
    "plt.title('2a. Energy VAD (same as 1c)')\n",
    "plt.plot(time, signal)\n",
    "\n",
    "plot_boundaries(boundaries_energy, 'purple')\n",
    "\n",
    "# double-check\n",
    "plt.sca(axs[1, 1])\n",
    "plt.title('2b. Double-check (too early)')\n",
    "plt.plot(time, signal)\n",
    "\n",
    "boundaries = VAD.double_check_speech_segments(boundaries_energy, audio_file,  speech_th=0.5)\n",
    "plot_boundaries(boundaries, 'red')\n",
    "\n",
    "# merge (too late)\n",
    "plt.sca(axs[2, 1])\n",
    "plt.title('2c. Merge short segments (too late)')\n",
    "plt.plot(time, signal)\n",
    "\n",
    "boundaries = VAD.merge_close_segments(boundaries, close_th=0.250)\n",
    "plot_boundaries(boundaries, 'black')\n",
    "\n",
    "# third figure - merge, remove, double-check\n",
    "plt.sca(axs[0, 2])\n",
    "plt.title('3a. Energy VAD (same as 1c)')\n",
    "plt.plot(time, signal)\n",
    "\n",
    "plot_boundaries(boundaries_energy, 'purple')\n",
    "\n",
    "# merge\n",
    "plt.sca(axs[1, 2])\n",
    "plt.title('3b. Merge short segments (as above)')\n",
    "plt.plot(time, signal)\n",
    "\n",
    "boundaries = VAD.merge_close_segments(boundaries_energy, close_th=0.250)\n",
    "plot_boundaries(boundaries, 'black')\n",
    "\n",
    "# merge\n",
    "plt.sca(axs[2, 2])\n",
    "plt.title('3c. Remove short segments & double-check (as above)')\n",
    "plt.plot(time, signal)\n",
    "\n",
    "boundaries = VAD.remove_short_segments(boundaries, len_th=0.250)\n",
    "boundaries = VAD.double_check_speech_segments(boundaries, audio_file,  speech_th=0.5)\n",
    "plot_boundaries(boundaries, 'red')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "sb_auto_footer",
    "tags": [
     "sb_auto_footer"
    ]
   },
   "source": [
    "## Citing SpeechBrain\n",
    "\n",
    "If you use SpeechBrain in your research or business, please cite it using the following BibTeX entry:\n",
    "\n",
    "```bibtex\n",
    "@misc{speechbrainV1,\n",
    "  title={Open-Source Conversational AI with {SpeechBrain} 1.0},\n",
    "  author={Mirco Ravanelli and Titouan Parcollet and Adel Moumen and Sylvain de Langen and Cem Subakan and Peter Plantinga and Yingzhi Wang and Pooneh Mousavi and Luca Della Libera and Artem Ploujnikov and Francesco Paissan and Davide Borra and Salah Zaiem and Zeyu Zhao and Shucong Zhang and Georgios Karakasidis and Sung-Lin Yeh and Pierre Champion and Aku Rouhe and Rudolf Braun and Florian Mai and Juan Zuluaga-Gomez and Seyed Mahed Mousavi and Andreas Nautsch and Xuechen Liu and Sangeet Sagar and Jarod Duret and Salima Mdhaffar and Gaelle Laperriere and Mickael Rouvier and Renato De Mori and Yannick Esteve},\n",
    "  year={2024},\n",
    "  eprint={2407.00463},\n",
    "  archivePrefix={arXiv},\n",
    "  primaryClass={cs.LG},\n",
    "  url={https://arxiv.org/abs/2407.00463},\n",
    "}\n",
    "@misc{speechbrain,\n",
    "  title={{SpeechBrain}: A General-Purpose Speech Toolkit},\n",
    "  author={Mirco Ravanelli and Titouan Parcollet and Peter Plantinga and Aku Rouhe and Samuele Cornell and Loren Lugosch and Cem Subakan and Nauman Dawalatabad and Abdelwahab Heba and Jianyuan Zhong and Ju-Chieh Chou and Sung-Lin Yeh and Szu-Wei Fu and Chien-Feng Liao and Elena Rastorgueva and François Grondin and William Aris and Hwidong Na and Yan Gao and Renato De Mori and Yoshua Bengio},\n",
    "  year={2021},\n",
    "  eprint={2106.04624},\n",
    "  archivePrefix={arXiv},\n",
    "  primaryClass={eess.AS},\n",
    "  note={arXiv:2106.04624}\n",
    "}\n",
    "```"
   ]
  }
 ],
 "metadata": {
  "colab": {
   "name": "",
   "version": ""
  },
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.12.6"
  },
  "widgets": {
   "application/vnd.jupyter.widget-state+json": {
    "035d7ada3c66442b868537532aeda6c9": {
     "model_module": "@jupyter-widgets/base",
     "model_module_version": "1.2.0",
     "model_name": "LayoutModel",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "05999aef47c342f6a4bd495dec80bfa3": {
     "model_module": "@jupyter-widgets/base",
     "model_module_version": "1.2.0",
     "model_name": "LayoutModel",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "08881ce464d9473eb24c24ebea5b6b36": {
     "model_module": "@jupyter-widgets/controls",
     "model_module_version": "1.5.0",
     "model_name": "ProgressStyleModel",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "ProgressStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "bar_color": null,
      "description_width": ""
     }
    },
    "1524b323bee54e27976c43f11e9044d2": {
     "model_module": "@jupyter-widgets/controls",
     "model_module_version": "1.5.0",
     "model_name": "HBoxModel",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HBoxModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HBoxView",
      "box_style": "",
      "children": [
       "IPY_MODEL_dd782e4705934cc9a3abddd64cb61c70",
       "IPY_MODEL_64da73ccf9044b018a518089902d957c",
       "IPY_MODEL_66f17fcd37204c0aa92c144601cf26c3"
      ],
      "layout": "IPY_MODEL_035d7ada3c66442b868537532aeda6c9"
     }
    },
    "1a309e6a0669457dacfed56803dceff0": {
     "model_module": "@jupyter-widgets/base",
     "model_module_version": "1.2.0",
     "model_name": "LayoutModel",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "1a5ce622ea784769b0f90200300a32d0": {
     "model_module": "@jupyter-widgets/base",
     "model_module_version": "1.2.0",
     "model_name": "LayoutModel",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "36e076f9516e40be9af39b9bb785eae5": {
     "model_module": "@jupyter-widgets/controls",
     "model_module_version": "1.5.0",
     "model_name": "DescriptionStyleModel",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "DescriptionStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "description_width": ""
     }
    },
    "394b510120b94a038dd7266b4bbe4c52": {
     "model_module": "@jupyter-widgets/base",
     "model_module_version": "1.2.0",
     "model_name": "LayoutModel",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "3fe8357c32814d14a4fe5b4b0638b358": {
     "model_module": "@jupyter-widgets/controls",
     "model_module_version": "1.5.0",
     "model_name": "ProgressStyleModel",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "ProgressStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "bar_color": null,
      "description_width": ""
     }
    },
    "4fe3d5af87174832ada339a7639a0a5a": {
     "model_module": "@jupyter-widgets/controls",
     "model_module_version": "1.5.0",
     "model_name": "DescriptionStyleModel",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "DescriptionStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "description_width": ""
     }
    },
    "510e43a2d4b84098ac8c4b78ec7ef4a0": {
     "model_module": "@jupyter-widgets/controls",
     "model_module_version": "1.5.0",
     "model_name": "FloatProgressModel",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "FloatProgressModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "ProgressView",
      "bar_style": "success",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_ebcaceeffbb14ebab4a952e3f846325d",
      "max": 2286,
      "min": 0,
      "orientation": "horizontal",
      "style": "IPY_MODEL_08881ce464d9473eb24c24ebea5b6b36",
      "value": 2286
     }
    },
    "5f4600f7732945bf8eaeec68dc049791": {
     "model_module": "@jupyter-widgets/controls",
     "model_module_version": "1.5.0",
     "model_name": "HTMLModel",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HTMLModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HTMLView",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_1a5ce622ea784769b0f90200300a32d0",
      "placeholder": "​",
      "style": "IPY_MODEL_36e076f9516e40be9af39b9bb785eae5",
      "value": "mean_var_norm.ckpt: 100%"
     }
    },
    "64da73ccf9044b018a518089902d957c": {
     "model_module": "@jupyter-widgets/controls",
     "model_module_version": "1.5.0",
     "model_name": "FloatProgressModel",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "FloatProgressModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "ProgressView",
      "bar_style": "success",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_aea9b0b7a4c34fdc90a86381b6fd131f",
      "max": 452671,
      "min": 0,
      "orientation": "horizontal",
      "style": "IPY_MODEL_3fe8357c32814d14a4fe5b4b0638b358",
      "value": 452671
     }
    },
    "64ee2cc1530a44649b2eaefc2d626489": {
     "model_module": "@jupyter-widgets/base",
     "model_module_version": "1.2.0",
     "model_name": "LayoutModel",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "66f17fcd37204c0aa92c144601cf26c3": {
     "model_module": "@jupyter-widgets/controls",
     "model_module_version": "1.5.0",
     "model_name": "HTMLModel",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HTMLModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HTMLView",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_1a309e6a0669457dacfed56803dceff0",
      "placeholder": "​",
      "style": "IPY_MODEL_a59f79ff3fd3407cb7dd97bea40a7fa0",
      "value": " 453k/453k [00:00&lt;00:00, 759kB/s]"
     }
    },
    "6bdac215350a47459419cf0648917b33": {
     "model_module": "@jupyter-widgets/base",
     "model_module_version": "1.2.0",
     "model_name": "LayoutModel",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "7f4ccfc7e07e44c091dcefb3c5321fcf": {
     "model_module": "@jupyter-widgets/controls",
     "model_module_version": "1.5.0",
     "model_name": "DescriptionStyleModel",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "DescriptionStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "description_width": ""
     }
    },
    "814b6bb87f2b41d6baa8686d54093eb9": {
     "model_module": "@jupyter-widgets/controls",
     "model_module_version": "1.5.0",
     "model_name": "HTMLModel",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HTMLModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HTMLView",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_64ee2cc1530a44649b2eaefc2d626489",
      "placeholder": "​",
      "style": "IPY_MODEL_7f4ccfc7e07e44c091dcefb3c5321fcf",
      "value": " 1.06k/1.06k [00:00&lt;00:00, 67.3kB/s]"
     }
    },
    "81addb3add394558b4965ae64ccd28e2": {
     "model_module": "@jupyter-widgets/controls",
     "model_module_version": "1.5.0",
     "model_name": "HBoxModel",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HBoxModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HBoxView",
      "box_style": "",
      "children": [
       "IPY_MODEL_c6a1d60818dc413d8cb2871ef390c68e",
       "IPY_MODEL_510e43a2d4b84098ac8c4b78ec7ef4a0",
       "IPY_MODEL_ca7be228b4d34867a058553bc88ee621"
      ],
      "layout": "IPY_MODEL_05999aef47c342f6a4bd495dec80bfa3"
     }
    },
    "98293ef05bc5486bb7f00a7e14d5d4e3": {
     "model_module": "@jupyter-widgets/controls",
     "model_module_version": "1.5.0",
     "model_name": "DescriptionStyleModel",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "DescriptionStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "description_width": ""
     }
    },
    "a59f79ff3fd3407cb7dd97bea40a7fa0": {
     "model_module": "@jupyter-widgets/controls",
     "model_module_version": "1.5.0",
     "model_name": "DescriptionStyleModel",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "DescriptionStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "description_width": ""
     }
    },
    "abc96fd17c8845199c7f60ecdcefd04f": {
     "model_module": "@jupyter-widgets/base",
     "model_module_version": "1.2.0",
     "model_name": "LayoutModel",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "aea9b0b7a4c34fdc90a86381b6fd131f": {
     "model_module": "@jupyter-widgets/base",
     "model_module_version": "1.2.0",
     "model_name": "LayoutModel",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "bcbee7bbed0b44328c96c2c1c7829002": {
     "model_module": "@jupyter-widgets/controls",
     "model_module_version": "1.5.0",
     "model_name": "DescriptionStyleModel",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "DescriptionStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "description_width": ""
     }
    },
    "c6a1d60818dc413d8cb2871ef390c68e": {
     "model_module": "@jupyter-widgets/controls",
     "model_module_version": "1.5.0",
     "model_name": "HTMLModel",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HTMLModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HTMLView",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_394b510120b94a038dd7266b4bbe4c52",
      "placeholder": "​",
      "style": "IPY_MODEL_bcbee7bbed0b44328c96c2c1c7829002",
      "value": "hyperparams.yaml: 100%"
     }
    },
    "ca7be228b4d34867a058553bc88ee621": {
     "model_module": "@jupyter-widgets/controls",
     "model_module_version": "1.5.0",
     "model_name": "HTMLModel",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HTMLModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HTMLView",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_e09296d8813b4cd58eedd067fbb32ed6",
      "placeholder": "​",
      "style": "IPY_MODEL_98293ef05bc5486bb7f00a7e14d5d4e3",
      "value": " 2.29k/2.29k [00:00&lt;00:00, 110kB/s]"
     }
    },
    "cdaa7435db634dfbbf1bd1b2439a8671": {
     "model_module": "@jupyter-widgets/base",
     "model_module_version": "1.2.0",
     "model_name": "LayoutModel",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "d56ee8c3d08349cfb73ce60c48bfcb97": {
     "model_module": "@jupyter-widgets/controls",
     "model_module_version": "1.5.0",
     "model_name": "HBoxModel",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HBoxModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HBoxView",
      "box_style": "",
      "children": [
       "IPY_MODEL_5f4600f7732945bf8eaeec68dc049791",
       "IPY_MODEL_da6323682f01404b8bc5969903b8702c",
       "IPY_MODEL_814b6bb87f2b41d6baa8686d54093eb9"
      ],
      "layout": "IPY_MODEL_cdaa7435db634dfbbf1bd1b2439a8671"
     }
    },
    "da6323682f01404b8bc5969903b8702c": {
     "model_module": "@jupyter-widgets/controls",
     "model_module_version": "1.5.0",
     "model_name": "FloatProgressModel",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "FloatProgressModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "ProgressView",
      "bar_style": "success",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_abc96fd17c8845199c7f60ecdcefd04f",
      "max": 1063,
      "min": 0,
      "orientation": "horizontal",
      "style": "IPY_MODEL_f59c2c9fe77245b7997917d051c5bb28",
      "value": 1063
     }
    },
    "dd782e4705934cc9a3abddd64cb61c70": {
     "model_module": "@jupyter-widgets/controls",
     "model_module_version": "1.5.0",
     "model_name": "HTMLModel",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HTMLModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HTMLView",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_6bdac215350a47459419cf0648917b33",
      "placeholder": "​",
      "style": "IPY_MODEL_4fe3d5af87174832ada339a7639a0a5a",
      "value": "model.ckpt: 100%"
     }
    },
    "e09296d8813b4cd58eedd067fbb32ed6": {
     "model_module": "@jupyter-widgets/base",
     "model_module_version": "1.2.0",
     "model_name": "LayoutModel",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "ebcaceeffbb14ebab4a952e3f846325d": {
     "model_module": "@jupyter-widgets/base",
     "model_module_version": "1.2.0",
     "model_name": "LayoutModel",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "f59c2c9fe77245b7997917d051c5bb28": {
     "model_module": "@jupyter-widgets/controls",
     "model_module_version": "1.5.0",
     "model_name": "ProgressStyleModel",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "ProgressStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "bar_color": null,
      "description_width": ""
     }
    }
   }
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
